package com.sky.module.system.file.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.common.domain.form.FileQueryForm;
import com.sky.module.suppot.file.domain.entity.FileEntity;
import com.sky.utils.Result;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author
 * @date 2023/2/24 0:53
 **/
public interface FileService {


    /***
     * @description 通用文件上传 基于s3 协议 本地上传
     * @param file
     * @param  module  文件目录
     * @return java.lang.String
     * @date 2023/3/2 1:53
     *
     */
    public Result uploadFile(MultipartFile file, String module);

    /***
     * @description TODO
     * @param file
     * @param module  文件名称
     * @return java.lang.String
     * @date 2023/2/24 0:54
     *
     */
//    public String upload(MultipartFile file, String module);

//    void deleteFile(String url);

    /***
     * @description 分页条件查询
     * @param fileQueryForm
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.sky.module.suppot.file.domain.entity.FileEntity>
     * @date 2023/3/1 1:12
     *
     */
    Page<FileEntity> queryPage(FileQueryForm fileQueryForm);

    public void delete(String fileKey);



    /***
    * @description  有过期的时间的获取
    * @param fileKey
    * @return com.sky.utils.Result<?>
    * @date 2023/3/2 9:02
    *
    */
    public Result<?> getFileUrl(String fileKey );


}
